package lxt.service.impl;

import java.util.List;

import lxt.dao.ParameterDao;
import lxt.entity.Parameter;
import lxt.entity.ParameterId;
import lxt.service.ParameterService;
/**
 * 基础数据管理service
 * @author Lit
 *
 */
public class ParameterServiceImpl implements ParameterService {
	private ParameterDao parameterDao;
	
	/**
	 * 根据paramType 查询信息
	 */
	@SuppressWarnings("unchecked")
	public List<Parameter> loadByParamType(String paramType)throws Exception{
		return this.parameterDao.loadByParamType(paramType);
	}
	
	public boolean addParameter(Parameter parameter) throws Exception {
		this.parameterDao.save(parameter);
		return true;
	}

	public void deleteParameter(String parameterId) throws Exception {
		String[] delId = parameterId.split(",");
		for(int i=0;i<delId.length;i++){
			String[] paramId = delId[i].split("@");
			this.parameterDao.delete(Parameter.class, new ParameterId(paramId[0],paramId[1]));
		}
	}

	public List<Parameter> loadParameter(String paramType,int offset, int length)
			throws Exception {
		return this.parameterDao.loadAllParameter(paramType, offset, length);
	}

	public Parameter loadParameterById(ParameterId parameterId) throws Exception {
		return (Parameter) this.parameterDao.get(Parameter.class, parameterId);
	}

	public boolean updateParameter(Parameter parameter) throws Exception {
		this.parameterDao.update(parameter);
		return true;
	}
	
	public int loadAllParameterCount(String paramType) throws Exception {
		return this.parameterDao.loadAllParameterCount(paramType);
	}

	/**
	 * get set
	 */
	public ParameterDao getParameterDao() {
		return parameterDao;
	}
	public void setParameterDao(ParameterDao parameterDao) {
		this.parameterDao = parameterDao;
	}
}
